home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 27
/
64er_Magazin_Sonderheft_27_19xx_Markt__Technik_de_Disk_2_of_2_Side_A.d64
/
makro merge-file
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
349 lines
60000 ;*********************************
60010 ;* *
60020 ;* grafik-makros merge file *
60030 ;* ------------------------ *
60040 ;* zu den *
60050 ;* giga-ass grafik-routinen *
60060 ;* *
60070 ;*********************************
60080 ;
60090 ;---------------------------------
60100 ; dieses file ist einem giga-ass
60110 ; quelltext, der auf die grafik-
60120 ; routinen zugreift, mit dem "m"-
60130 ; befehl anzuhaengen.
60140 ;
60150 ; den makros muss ueber die basis
60160 ; adresse "ba" mitgeteilt werden,
60170 ; an welcher stelle im speicher
60180 ; die grafik-routinen liegen.
60190 ;
60200 ; die makros selbst greifen nur
60210 ; ueber die die grafik-routinen
60220 ; einleitende jump-table auf die
60230 ; routinen zu.
60240 ;
60250 ;---------------------------------
60260 ;
60270 ;
60280 ;---------------------------------
60290 ;
60300 ; zu jeder grafik-routine mit
60310 ; parametern gibt es zwei makros:
60320 ;
60330 ; a) ein makro, der als parameter
60340 ; die aktuellen parameter
60350 ; selbst als wert-parameter
60360 ; erhaelt
60370 ; ("call by value")
60380 ;
60390 ; b) ein makro, der als parameter
60400 ; diejenigen adressen mitge-
60410 ; teilt bekommt, an denen die
60420 ; aktuellen parameter stehen
60430 ; ("call by reference")
60440 ;
60450 ; makros vom typ b) unterscheiden
60460 ; sich von denjenigen vom typ a)
60470 ; durch ein angehaengtes "i"
60480 ; (z.b. linei, framei, circlei),
60490 ; welches fuer "indirekte"
60500 ; parameter-angabe steht.
60510 ;
60520 ;---------------------------------
60530 ;
60540 tab(ba=$c000
60550 ;
60560 ;=================================
60570 ; grafik-routinen uebergreifende
60580 ; makros
60590 ;=================================
60600 ;
60610 getspacewait
60620 mid$203
60630 str$#$3c
60640 (NULL)*-4
60650 mid$203
60660 str$#$3c
60670 (NULL)*-4
60680 new
60690 getborderclosecolor
60700 mid$#color
60710 (NULL)$d020
60720 new
60730 getbackgroundclosecolor
60740 mid$#color
60750 (NULL)$d021
60760 new
60770 getinterrupt_on
60780 mid$#$81
60790 (NULL)$dc0d
60800 new
60810 getlcvclosexcval,ycval
60820 mid$#<(xcval)
60830 peek#>(xcval)
60840 len#ycval
60850 new
60860 getlciclosexcadr,ycadr
60870 mid$xcadr
60880 peekxcadr+1
60890 lenycadr
60900 new
60910 getmcvclosexcval,ycval,adr
60920 lcvclosexcval,ycval
60930 (NULL)adr
60940 (NULL)adr+1
60950 (NULL)adr+2
60960 new
60970 getmciclosexcadr,ycadr,adr
60980 mid$xcadr
60990 peekxcadr+1
61000 lenycadr
61010 (NULL)adr
61020 (NULL)adr+1
61030 (NULL)adr+2
61040 new
61050 ;
61060 ;
61070 ;=================================
61080 ; makros zum aufruf der
61090 ; grafik-routinen
61100 ;=================================
61110 ;
61120 getpagecloseval
61130 peek#val
61140 (NULL)ba+$00
61150 new
61160 getpageicloseadr
61170 peekadr
61180 (NULL)ba+$00
61190 new
61200 getdesigncloseval
61210 peek#val
61220 (NULL)ba+$03
61230 new
61240 getdesignicloseadr
61250 peekadr
61260 (NULL)ba+$03
61270 new
61280 getoff
61290 (NULL)ba+$06
61300 new
61310 getinv
61320 (NULL)ba+$09
61330 interrupt_on
61340 new
61350 getclear
61360 (NULL)ba+$0c
61370 new
61380 getcolorcloseval
61390 mid$#val
61400 (NULL)ba+$0f
61410 new
61420 getcoloricloseadr
61430 mid$adr
61440 (NULL)ba+$0f
61450 new
61460 getsetcolcloselnval,clval,coval
61470 mid$#lnval
61480 peek#clval
61490 len#coval
61500 (NULL)ba+$12
61510 new
61520 getsetcolicloselnadr,cladr,coadr
61530 mid$lnadr
61540 peekcladr
61550 lencoadr
61560 (NULL)ba+$12
61570 new
61580 ;---------------------------------
61590 ; einzelpunkt makros
61600 ;---------------------------------
61610 getcleardotclosexcval,ycval
61620 lcvclosexcval,ycval
61630 (NULL)ba+$15
61640 interrupt_on
61650 new
61660 getcleardoticlosexcadr,ycadr
61670 lciclosexcadr,ycadr
61680 (NULL)ba+$15
61690 interrupt_on
61700 new
61710 getsetclosexcval,ycval
61720 lcvclosexcval,ycval
61730 (NULL)ba+$18
61740 interrupt_on
61750 new
61760 getseticlosexcadr,ycadr
61770 lciclosexcadr,ycadr
61780 (NULL)ba+$18
61790 interrupt_on
61800 new
61810 gettestclosexcval,ycval
61820 lcvclosexcval,ycval
61830 (NULL)ba+$1b
61840 interrupt_on
61850 new
61860 gettesticlosexcadr,ycadr
61870 lciclosexcadr,ycadr
61880 (NULL)ba+$1b
61890 interrupt_on
61900 new
61910 getaccessclosexcval,ycval
61920 lcvclosexcval,ycval
61930 (NULL)ba+$1e
61940 interrupt_on
61950 new
61960 getaccessiclosexcadr,ycadr
61970 lciclosexcadr,ycadr
61980 (NULL)ba+$1e
61990 interrupt_on
62000 new
62010 ;---------------------------------
62020 ; makros fuer mehrere punkte
62030 ;---------------------------------
62040 getlineclosex0val,y0val,x1val,y1val
62050 mcvclosex0val,y0val,ba+$21
62060 mcvclosex1val,y1val,ba+$24
62070 (NULL)ba+$27
62080 interrupt_on
62090 new
62100 getlineiclosex0adr,y0adr,x1adr,y1adr
62110 mciclosex0adr,y0adr,ba+$21
62120 mciclosex1adr,y1adr,ba+$24
62130 (NULL)ba+$27
62140 interrupt_on
62150 new
62160 getlinecclosex0val,y0val,x1val,y1valiga-assready
62170 mcvclosex0val,y0val,ba+$21
62180 mcvclosex1val,y1val,ba+$24
62190 (NULL)ba+$2a
62200 interrupt_on
62210 new
62220 getlineicclosex0adr,y0adr,x1adr,y1adr
62230 mciclosex0adr,y0adr,ba+$21
62240 mciclosex1adr,y1adr,ba+$24
62250 (NULL)ba+$2a
62260 interrupt_on
62270 new
62280 getframeclosex0val,y0val,x1val,y1val
62290 mcvclosex0val,y0val,ba+$2d
62300 mcvclosex1val,y1val,ba+$30
62310 (NULL)ba+$33
62320 interrupt_on
62330 new
62340 getframeiclosex0adr,y0adr,x1adr,y1adr
62350 mciclosex0adr,y0adr,ba+$2d
62360 mciclosex1adr,y1adr,ba+$30
62370 (NULL)ba+$33
62380 interrupt_on
62390 new
62400 getcframeclosex0val,y0val,x1val,y1val
62410 mcvclosex0val,y0val,ba+$2d
62420 mcvclosex1val,y1val,ba+$30
62430 (NULL)ba+$36
62440 interrupt_on
62450 new
62460 getcframeiclosex0adr,y0adr,x1adr,y1adr
62470 mciclosex0adr,y0adr,ba+$2d
62480 mciclosex1adr,y1adr,ba+$30
62490 (NULL)ba+$36
62500 interrupt_on
62510 new
62520 getfillclosexcval,ycval
62530 lcvclosexcval,ycval
62540 (NULL)ba+$39
62550 interrupt_on
62560 new
62570 getfilliclosexcadr,ycadr
62580 lciclosexcadr,ycadr
62590 (NULL)ba+$39
62600 interrupt_on
62610 new
62620 gettextcloseadr,line,column,expx,expy,case,textcolor
62630 mid$#column
62640 (NULL)ba+$3c
62650 mid$#line
62660 (NULL)ba+$3d
62670 mid$#expx
62680 (NULL)ba+$3e
62690 mid$#expy
62700 (NULL)ba+$3f
62710 mid$#case
62720 (NULL)ba+$40
62730 mid$#<(adr)
62740 len#>(adr)
62750 peek#textcolor
62760 (NULL)ba+$41
62770 interrupt_on
62780 new
62790 gettexticloseiadr,iline,icolumn,iexpx,iexpy,icase,itextcolor
62800 mid$icolumn
62810 (NULL)ba+$3c
62820 mid$iline
62830 (NULL)ba+$3d
62840 mid$iexpx
62850 (NULL)ba+$3e
62860 mid$iexpy
62870 (NULL)ba+$3f
62880 mid$icase
62890 (NULL)ba+$40
62900 mid$iadr
62910 leniadr+1
62920 peekitextcolor
62930 (NULL)ba+$41
62940 interrupt_on
62950 new
62960 getcircleclosexcval,ycval,radval
62970 mid$#radval
62980 (NULL)ba+$44
62990 lcvclosexcval,ycval
63000 (NULL)ba+$45
63010 interrupt_on
63020 new
63030 getcircleiclosexcadr,ycadr,radadr
63040 mid$radadr
63050 (NULL)ba+$44
63060 lciclosexcadr,ycadr
63070 (NULL)ba+$45
63080 interrupt_on
63090 new
63100 getccircleclosexcval,ycval,radval
63110 mid$#radval
63120 (NULL)ba+$44
63130 lcvclosexcval,ycval
63140 (NULL)ba+$48
63150 interrupt_on
63160 new
63170 getccircleiclosexcadr,ycadr,radadr
63180 mid$radadr
63190 (NULL)ba+$44
63200 lciclosexcadr,ycadr
63210 (NULL)ba+$48
63220 interrupt_on
63230 new
63240 getlinesclosepointer
63250 mid$#<(pointer)
63260 len#>(pointer)
63270 (NULL)ba+$4b
63280 interrupt_on
63290 new
63300 getlinesicloseipointer
63310 mid$ipointer
63320 lenipointer+1
63330 (NULL)ba+$4b
63340 interrupt_on
63350 new
63360 getlinescclosepointer
63370 mid$#<(pointer)
63380 len#>(pointer)
63390 (NULL)ba+$4e
63400 interrupt_on
63410 new
63420 getlinesiccloseipointer
63430 mid$ipointer
63440 lenipointer+1
63450 (NULL)ba+$4e
63460 interrupt_on
63470 new